/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */


Sol.controles.SeleccionBox = function(el) {
    /********************************
     *Constructor de SeleccionBox
     **********************************/
    this.constructor = function(el){
      this.cargarAtributos(el);
      this._etiqueta.setAttribute("readonly", "readonly");
      this._boton.setAttribute("type","button");
      this._boton.onclick = this._boton_click;
    };
    /************************************
     *Carga los atributos pasados en el markup
     ***********************************/
    this.cargarAtributos = function(el){
        var id = el.id;
        id = id.substring(0, id.length - 4);
        this._etiqueta = el;
        this._hidden = document.getElementById(id);
        this._boton = document.getElementById(id+'_btn');
        if (this._hidden == null){
            throw "El control "+id+", no tiene un hidden";
        }
        if (this._boton == null){
            throw "El control "+id+", no tiene un boton";
        }
        //Se utiliza el atributo onclick para que nos pasen la url de la página donde se realizará la busqueda
        //después lo sobreescribimos para que abra una ventana con esta url.
        this.url_busqueda = CONTEXT_PATH+this._boton.getAttribute("onclick");
    };
    /****************************************
     *Función que maneja el evento del botón
     ***************************************/
    this._boton_click = function(){
        var widget = Sol.controles.dict[el.id];
        showPopup(widget.url_busqueda, el.id , null, 650, 450, null, null);
    };
    this.setValue = function(datos){
        this._etiqueta.value = datos.name;
        this._hidden.value = datos.id;
    };
    /*Se invoca al constructor*/
    this.constructor(el);
};


function seleccionar(var_id,var_nombre){
      if (opener && opener.dismissPopup) {
          var data = {};
          opener.dismissPopup(window, var_id, var_nombre , data);
      }
      else 
          window.close();
}